//创建类Rectangle，具有私有属性length和width，缺省值均为1。
// 该类具有计算perimeter(周长)和area（面积）的方法，并有length和width的设置和读取方法。
// 设置方法中应检验length和width是否大于0.0并且小于20.0。创建对象，输出矩形的周长和面积。

public class Rectangle {
	// 私有属性：长度和宽度，缺省值为1
	private double length = 1.0;
	private double width = 1.0;

	// 设置长度的方法（带合法性校验）
	public void setLength(double length) {
		if (length > 0.0 && length < 20.0) {
			this.length = length;
		} else {
			System.out.println("长度必须大于0.0且小于20.0，未更新长度");
		}
	}

	// 设置宽度的方法（带合法性校验）
	public void setWidth(double width) {
		if (width > 0.0 && width < 20.0) {
			this.width = width;
		} else {
			System.out.println("宽度必须大于0.0且小于20.0，未更新宽度");
		}
	}

	// 获取长度
	public double getLength() {
		return length;
	}

	// 获取宽度
	public double getWidth() {
		return width;
	}

	// 计算周长（周长 = 2*(长+宽)）
	public double perimeter() {
		return 2 * (length + width);
	}

	// 计算面积（面积 = 长*宽）
	public double area() {
		return length * width;
	}

	public static void main(String[] args) {
		// 创建第一个矩形对象（使用默认值）
		Rectangle rect1 = new Rectangle();
		System.out.println("矩形1（默认值）：");
		System.out.println("长度：" + rect1.getLength() + "，宽度：" + rect1.getWidth());
		System.out.println("周长：" + rect1.perimeter() + "，面积：" + rect1.area());
		System.out.println("---------------------");

		// 创建第二个矩形对象（自定义值）
		Rectangle rect2 = new Rectangle();
		rect2.setLength(5.5);   // 合法长度
		rect2.setWidth(3.2);    // 合法宽度
		System.out.println("矩形2（自定义值）：");
		System.out.println("长度：" + rect2.getLength() + "，宽度：" + rect2.getWidth());
		System.out.println("周长：" + rect2.perimeter() + "，面积：" + rect2.area());
		System.out.println("---------------------");

		// 测试非法值设置
		Rectangle rect3 = new Rectangle();
		rect3.setLength(25.0);  // 超过上限的长度
		rect3.setWidth(-3.0);   // 负数宽度（非法）
		System.out.println("矩形3（含非法值）：");
		System.out.println("长度：" + rect3.getLength() + "，宽度：" + rect3.getWidth());
		System.out.println("周长：" + rect3.perimeter() + "，面积：" + rect3.area());
	}
}